package com.baor.mall.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baor.common.annotation.Excel;
import com.baor.common.core.domain.BaseEntity;

import java.util.ArrayList;
import java.util.List;

/**
 * 商品分类对象 t_taxonomic
 * 
 * @author ruoyi
 * @date 2025-07-18
 */
public class TTaxonomic extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id主键 */
    private Long id;
    

    /** 商品分类名称 */
    @Excel(name = "商品分类名称")
    private String taxName;

    /** 商品分类图片 */
    @Excel(name = "商品分类图片")
    private String taxIcon;

    /** 是否显示（0显示，1不显示） */
    @Excel(name = "是否显示", readConverterExp = "0=显示，1不显示")
    private String taxDisplay;

    /** 上级类别id */
    @Excel(name = "上级类别id")
    private String levId;

    /** 子分类列表（树形结构用） */
    private List<TTaxonomic> children = new ArrayList<>();  // 用于树形展示

    /** 级别类型名称（关联t_level表的levType） */
    @Excel(name = "级别类型")
    private String levType;  // 新增字段


    public List<TTaxonomic> getChildren() {
        return children;
    }

    public void setChildren(List<TTaxonomic> children) {
        this.children = children;
    }

    /** 删除标识（0未删除，1已删除） */
    @Excel(name = "删除标识", readConverterExp = "0=未删除，1已删除")
    private Long delFlag;


    /** 父分类ID（一级分类为0） */
    @Excel(name = "父分类ID")
    private Long parentId;  // 新增字段

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    

    public void setTaxName(String taxName) 
    {
        this.taxName = taxName;
    }

    public String getTaxName() 
    {
        return taxName;
    }

    public void setTaxIcon(String taxIcon) 
    {
        this.taxIcon = taxIcon;
    }

    public String getTaxIcon() 
    {
        return taxIcon;
    }

    public void setTaxDisplay(String taxDisplay) 
    {
        this.taxDisplay = taxDisplay;
    }

    public String getTaxDisplay() 
    {
        return taxDisplay;
    }

    public void setLevId(String levId) 
    {
        this.levId = levId;
    }

    public String getLevId() 
    {
        return levId;
    }

    public void setDelFlag(Long delFlag)
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag()
    {
        return delFlag;
    }
    public String getLevType() {
        return levType;
    }

    public void setLevType(String levType) {
        this.levType = levType;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("taxName", getTaxName())
            .append("taxIcon", getTaxIcon())
            .append("taxDisplay", getTaxDisplay())
            .append("levId", getLevId())
            .append("createTime", getCreateTime())
            .append("delFlag", getDelFlag())
            .append("levType", getLevType())
            .toString();
    }
}
